Skip to content

[ADD, PORT] Индукторы и Мегабатареи - #10

Open
KashRas2 wants to merge 10 commits into
Lost-Paradise-Project:masterfrom
KashRas2:inducer
Open

[ADD, PORT] Индукторы и Мегабатареи#10
KashRas2 wants to merge 10 commits into
Lost-Paradise-Project:masterfrom
KashRas2:inducer

Conversation

@KashRas2

@KashRas2 KashRas2 commented Jan 20, 2026

Copy link
Copy Markdown

Описание PR

Перенес индукторы и мегабатареи с сборки вологодских промыслов.

Почему / Баланс

Выполнил данную мини-предложку по просьбе Василисы, ничего более.

Технические детали

Уважаемый ревьювер наверное обратил внимание на мешанину в файлах. То LP, то ADT. Поэтому внесу ясность:

  1. Индукторы принадлежат мне. Так как я человек щедрый, то я так уж и быть разрешаю им стать частью директории ЛП.
  2. Всё, что не принадлежит мне как автору, я поместил в директории _ADT. Во-первых, это правильно, а во-вторых, я уважаю разработчиков ВП и не хочу, чтобы их труд был присвоен (ну формально, да) кем-то. Такие дела.

Так же хотел бы уточнить, что я специально не вносил крафты в автолаты в связи с этими новомодными протолатами отделов. Как только будет внесена ясность, то я внесу крафты куда надо.

Медиа

image image

Требования

Критические изменения

Список изменений

🆑 StasNeStasNe & KashRas2

  • add: Добавлены мегабатареи. Они способны хранить большее количество электроэнергии. Не пытайтесь поместить в них плазму!
  • add: Добавлены индукторы. Индукторы работают за счет вышеуказанных мегабатарей - они способы переносить энергии с них на любое устройство, которое работает от энергии. Например: ЛКП, СМЭС, лазерная винтовка.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @KashRas2, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Этот пул-реквест значительно расширяет систему управления энергией в игре, добавляя новые инструменты и высокоемкие источники питания. Основная цель — предоставить игрокам больше стратегических возможностей в области энергоснабжения, вводя индукторы для беспроводной передачи энергии и мегабатареи для хранения больших объемов заряда. Изменения также включают новые рецепты для крафта и технологии для исследования, что обогащает игровой процесс и баланс, разделяя контент между директориями LP и ADT для лучшей организации.

Highlights

  • Внедрение Индукторов: Добавлена новая система индукторов, позволяющая беспроводную передачу энергии от заряженной мегабатареи к другим устройствам. Индукторы имеют настраиваемую скорость передачи и дальность действия.
  • Добавление Мегабатарей: Введены новые типы мегабатарей (малые, средние, высокие, гипер и квантовые), обладающие значительно большей емкостью по сравнению со стандартными энергоэлементами. Эти батареи несовместимы с обычными зарядными устройствами.
  • Новое Зарядное Устройство для Мегабатарей: Добавлен специализированный зарядник для мегабатарей, который позволяет заряжать только новые высокоемкие энергоэлементы.
  • Интеграция и Балансировка: Мегабатареи были интегрированы в существующие системы, включая черные списки для стандартных зарядных устройств и слотов для элементов питания киборгов, а также белые списки для индукторов. Добавлены соответствующие технологии для исследования и рецепты для производства.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions

github-actions Bot commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

RSI Diff Bot; head commit 9499569 merging into 9d76a37
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/_ADT/Objects/Devices/megacells.rsi

State Old New Status
h_megacell Added
hyp_megacell Added
inf_megacell Added
m_megacell Added
megacell Added
o0 Added
o1 Added
o2 Added

Resources/Textures/_ADT/Structures/Power/megacharger.rsi

State Old New Status
empty Added
full Added
light-charged Added
light-charging Added
light-empty Added
light-off Added
open Added

Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi

State Old New Status
icon Added
inducer-bat Added
inhand-left Added
inhand-right Added

Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi

State Old New Status
icon Added
inducer-bat Added
inhand-left Added
inhand-right Added

Edit: diff updated after 9499569

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Этот PR добавляет индукторы и мегабатареи, перенесенные из другой сборки. Код в целом выглядит хорошо, но есть несколько моментов, которые требуют внимания.
В InducerSystem.cs есть логика, которую можно упростить, и потенциально опасный блок else, который выполняет ручное управление зарядом батареи.
В файлах прототипов megapowercells.yml есть избыточные поля name и description с временными значениями, которые следует удалить, чтобы работала локализация. Также есть дублирование тега.
Наконец, в нескольких .ftl файлах отсутствует перевод строки в конце, что может вызвать проблемы с некоторыми инструментами.
Я оставил конкретные комментарии с предложениями по исправлению.

Comment on lines +114 to +119
else
{
_battery.SetCharge(target, targetBattery.CurrentCharge + energyToTransfer, targetBattery);
_battery.SetCharge(slot.Item.Value, sourceBattery.CurrentCharge - energyToTransfer, sourceBattery);
args.Repeat = false;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Блок else здесь выглядит подозрительно и потенциально может привести к ошибкам. Метод _battery.TryUseCharge не должен возвращать false, так как energyToTransfer уже ограничен текущим зарядом sourceBattery. Если TryUseCharge все же вернет false (например, из-за состояния гонки), то ручное изменение заряда в обход API BatterySystem является некорректным. Это может привести к рассинхронизации состояния. Рекомендуется убрать манипуляции с зарядом из этого блока.

        else
        {
            args.Repeat = false;
        }

Comment on lines +40 to +41
name: megacell small
description: damnation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Поля name и description содержат значения-заполнители. Поскольку локализация для этих сущностей определена в файлах .ftl (например, ent-ADTMegaCellSmall), эти поля следует удалить. В противном случае в игре будут отображаться "megacell small" и "damnation" вместо локализованных строк. Это относится ко всем прототипам мегабатарей в этом файле (ADTMegaCellSmall, ADTMegaCellMedium, ADTMegaCellHigh, ADTMegaCellHyper, ADTMegaCellInfinite).

Comment on lines +105 to +112
if (targetBattery.CurrentCharge < targetBattery.MaxCharge * 0.95f)
{
args.Repeat = true;
}
else
{
args.Repeat = false;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Этот блок if/else можно упростить до одной строки для улучшения читаемости и краткости кода.

                args.Repeat = targetBattery.CurrentCharge < targetBattery.MaxCharge * 0.95f;

.desc = { ent-ADTMegaCellHyper.desc }
ent-ADTMegaCellInfinite = квантовая мегабатарея
.desc = Абсолютная вершина энергетических технологий. Квантовая матрица внутри корпуса обеспечивает практически неисчерпаемый запас энергии, нарушая все известные законы термодинамики.
.suffix = Бесконечный

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

В конце файла отсутствует символ новой строки. Некоторые инструменты и системы контроля версий могут некорректно обрабатывать файлы без завершающей новой строки. Рекомендуется добавить ее.

Suggested change
.suffix = Бесконечный
.suffix = Бесконечный

@@ -0,0 +1,2 @@
ent-ADTMegaCellRecharger = зарядник мегабатарей
.desc = Модифицированный зарядник промышленного класса, предназначенный исключительно для зарядки мегабатарей. Оснащён контактным основанием и усиленными энергоканалами для безопасной и эффективной передачи электричества.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

В конце файла отсутствует символ новой строки. Некоторые инструменты и системы контроля версий могут некорректно обрабатывать файлы без завершающей новой строки. Рекомендуется добавить ее.

Suggested change
.desc = Модифицированный зарядник промышленного класса, предназначенный исключительно для зарядки мегабатарей. Оснащён контактным основанием и усиленными энергоканалами для безопасной и эффективной передачи электричества.
.desc = Модифицированный зарядник промышленного класса, предназначенный исключительно для зарядки мегабатарей. Оснащён контактным основанием и усиленными энергоканалами для безопасной и эффективной передачи электричества.

Comment on lines +56 to +58
- type: Tag
tags:
- ADTMegaCell

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Этот компонент Tag с тегом ADTMegaCell является избыточным. Прототип ADTMegaCellSmall наследуется от ADTBaseMegaCell, который уже содержит этот тег. Дублирование следует удалить для упрощения поддержки.

@BL02DL BL02DL changed the title [ADD] Индукторы и Мегабатареи [ADD, PORT] Индукторы и Мегабатареи Jan 20, 2026
@KashRas2

Copy link
Copy Markdown
Author

@Evgencheg
На, проверяй локализацию свою

BL02DL
BL02DL previously approved these changes Jan 20, 2026
@Evgencheg
Evgencheg requested review from BL02DL and Evgencheg January 20, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants